package cn.iocoder.yudao.module.shop.controller.admin.monthmember.vo;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.*;
import java.time.LocalDateTime;
import java.time.LocalDateTime;
import javax.validation.constraints.*;

/**
 * 顾客每月到店统计 Base VO，提供给添加、修改、详细的子 VO 使用
 * 如果子 VO 存在差异的字段，请不要添加到这里，影响 Swagger 文档生成
 */
@Data
public class ShopMonthMemberBaseVO {

    @Schema(description = "日期id", requiredMode = Schema.RequiredMode.REQUIRED, example = "17512")
    @NotNull(message = "日期id不能为空")
    private String dateId;

    @Schema(description = "顾客id", requiredMode = Schema.RequiredMode.REQUIRED, example = "19948")
    @NotNull(message = "顾客id不能为空")
    private Long memberId;

    @Schema(description = "昵称", requiredMode = Schema.RequiredMode.REQUIRED, example = "李四")
    @NotNull(message = "昵称不能为空")
    private String nickname;

    @Schema(description = "头像", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotNull(message = "头像不能为空")
    private String avatar;

    @Schema(description = "电话", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotNull(message = "电话不能为空")
    private String mobile;

    @Schema(description = "总次数", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotNull(message = "总次数不能为空")
    private Integer totalTimes;

    @Schema(description = "总支数", requiredMode = Schema.RequiredMode.REQUIRED, example = "31763")
    @NotNull(message = "总支数不能为空")
    private Integer totalCount;

    @Schema(description = "总金额", requiredMode = Schema.RequiredMode.REQUIRED, example = "22269")
    @NotNull(message = "总金额不能为空")
    private Integer totalPrice;

    @Schema(description = "是否首充")
    private Boolean isFirstCharge;

    @Schema(description = "是否续充")
    private Boolean isContinueCharge;

    @Schema(description = "是否未续充")
    private Boolean isNoContinueCharge;

    @Schema(description = "是否大于1次充值")
    private Boolean isAfterTimesCharge;

}
